package com.love.marriage.userProfileInfo.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import com.love.marriage.common.vo.BaseVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

@Getter
@Setter
@Accessors(chain = true)
@ExcelTarget("UserProfileInfoExportVo")
@Schema(name = "UserProfileInfoExportVo", description = "用户档案导出Vo，包含择偶要求")
public class UserProfileInfoExportVo extends BaseVo<UserProfileInfoExportVo> {

    @Excel(name = "用户编码", orderNum = "0")
    private String code;

    @Excel(name = "手机号", orderNum = "1")
    private String phone;

    @Excel(name = "昵称", orderNum = "2")
    private String nickname;

    @Excel(name = "性别", orderNum = "3")
    private String gender;

    @Excel(name = "年龄", orderNum = "4")
    private Integer age;

    @Excel(name = "身高(cm)", orderNum = "5")
    private BigDecimal height;

    @Excel(name = "体重(kg)", orderNum = "6")
    private BigDecimal weight;

    @Excel(name = "职业", orderNum = "7")
    private String professionName;

    @Excel(name = "收入情况", orderNum = "8")
    private String incomeStatusName;

    @Excel(name = "地区", orderNum = "9")
    private String region;

    // --- 身份标识 ---
    @Excel(name = "是否会员", orderNum = "10")
    private String membershipFlag;

    @Excel(name = "会员类型", orderNum = "11")
    private String membershipName;

    @Excel(name = "是否红娘", orderNum = "12")
    private String matchmakerFlag;

    @Excel(name = "是否合伙人", orderNum = "13")
    private String partnerFlag;

    @Excel(name = "合伙人类型", orderNum = "14")
    private String partnerType;

    // --- 择偶要求 ---
    @Excel(name = "择偶-年龄起", orderNum = "15")
    private Integer prefAgeFrom;

    @Excel(name = "择偶-年龄止", orderNum = "16")
    private Integer prefAgeTo;

    @Excel(name = "择偶-身高起(cm)", orderNum = "17")
    private BigDecimal prefHeightFrom;

    @Excel(name = "择偶-身高止(cm)", orderNum = "18")
    private BigDecimal prefHeightTo;

    @Excel(name = "择偶-体重起(kg)", orderNum = "19")
    private BigDecimal prefWeightFrom;

    @Excel(name = "择偶-体重止(kg)", orderNum = "20")
    private BigDecimal prefWeightTo;

    @Excel(name = "择偶-学历", orderNum = "21")
    private String prefEducationLevel;

    @Excel(name = "择偶-职业", orderNum = "22")
    private String prefProfession;

    @Excel(name = "择偶-收入范围", orderNum = "23")
    private String prefIncomeRange;

    @Excel(name = "择偶-车房情况", orderNum = "24")
    private String prefHousingCarStatus;

    @Excel(name = "择偶-婚姻状况", orderNum = "25")
    private String prefMaritalStatus;

    @Excel(name = "择偶-地区", orderNum = "26")
    private String prefRegion;
}